1. Field of the Invention
This invention relates generally to caching or temporary storage of information in one or more nodes of a content distribution network.
2. Description of Related Art
With the continued expansion of broadband Internet, the number of users seeking real-time delivery of multimedia content is constantly increasing. A content distribution network addresses this need by delivering digital content to end-users via a system of networked computers or nodes with the capability to cache content items. By harnessing geographically-dispersed storage, content distribution networks provide users with access to large amounts of content at high quality.
There are generally two reasons for constructing a network optimized for the distribution of content. A first objective is to improve the quality of the user experience through higher bandwidth and reduced latency and jitter. A second objective is to optimize the profitability of the network service.
In general, the profitability of a network service is driven by average utilization, while the cost is driven by the as-built network capacity, which is sized to meet peak traffic loads. When demand for content approaches the available network capacity, the service provider is unable to deliver more service sessions, thereby reducing revenue and service quality. This reduction in service quality can also decrease the price of the service or necessitate an expensive augmentation of network capacity.
A common technique for decreasing costs in a network is to shift traffic demand into off-peak periods to defer network expansion and avoid network congestion. Networks incorporating storage can smooth out the demand profile to eliminate peaks. These networks can enable greater service capacity, while minimizing the costs of implementing the content distribution network.
The hierarchical tiering of content stores is well established. In hierarchical tiering systems, when a user requests a piece of multimedia content, such as video or audio, the content distribution network maximizes efficiency by selecting the closest server measured in terms of network proximity. For example, the content distribution network may attempt to minimize the number of hops or network latency between the requesting node and the server node. Inefficiencies in the content distribution network can arise, however, if the content requested by the user is not available on a server node located in close proximity to the requesting node. In these situations, the server node must retrieve the content from another node, thereby placing increased traffic demands on the content distribution network as a whole.
Although many current content distribution networks achieve the objective of improving end-user performance, they can also result in increased costs to the network service provider by replicating and distributing content that is not used or by distributing it during peak periods. Current content distribution networks do not factor knowledge of network utilization or free capacity into the decisions about what content to cache, how much to cache, or when to re-populate the cache.
All caching in content distribution networks is based on the premise that the content stored in the cache will be used, but current implementations decide what content to cache assuming that a content item that has been used once will be used again or that a content item that was of interest to one user will be of interest to other users. These implementations only directly and in a very simplistic fashion attempt to predict future content consumption, for example, by tracking past content consumption to decide which past consumption items should be retained in the cache.
This simplistic process for deciding what content to cache may fail for a number of reasons. For example, a recently released movie might be expected to have many viewers in the future, but no viewers in the past. Accordingly, existing content distribution networks would generally fail to store such content. Conversely, most content distribution networks would not be able to determine that content that was popular in the past will not be popular in the future. For example, special coverage of an election that would be of widespread interest during the election would likely be of little or no interest once the election has passed.
As another example, a Cambodian woman who happens to be the only Cambodian living in a content distribution network local serving area might regularly request Cambodian language content. However, there is little utility in caching the items delivered to her because her content will not be of interest to neighboring users and she will likely not want to watch content she has seen before. Existing content distribution networks would generally fail to realize that her unique viewing patterns make caching of the content destined for her unhelpful.
Furthermore, even when existing content distribution networks correctly identify a content item that is likely to be frequently used in the future, these networks might send the item to a distributed storage point during a period of peak usage, thereby adding to the capacity shortage. In addition, existing content distribution networks generally operate with a single networking mode. As a result, these networks might request a unicast download of a movie to a distributed caching point even when it is possible to avoid the added network load of a unicast download by recording the movie from a broadcast network at the distributed caching point.
Accordingly, there is a need for a predictive caching content distribution network that reduces costs by using predictive knowledge of future content consumption to automatically cache content during off-peak periods or to capture content from a broadcast network when it is transmitted. In addition, there is a need for a self-adapting content distribution network that utilizes caching to maintain an inventory of content that is most likely to suit the current interests of users. There is also a need for caching selected content to shift demand peak within the content distribution network and thereby maximize the number of service sessions that can be delivered at a given network link capacity.
The foregoing objects and advantages of the invention are illustrative of those that can be achieved by the various exemplary embodiments and are not intended to be exhaustive or limiting of the possible advantages which can be realized. Thus, these and other objects and advantages of the various exemplary embodiments will be apparent from the description herein or can be learned from practicing the various exemplary embodiments, both as embodied herein or as modified in view of any variation which may be apparent to those skilled in the art. Accordingly, the present invention resides in the novel methods, arrangements, combinations and improvements herein shown and described in various exemplary embodiments.